﻿USE [DDC]
GO
/****** Object:  StoredProcedure [dbo].[deleteActividad]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
create procedure [dbo].[deleteActividad]
@id int
as
begin
	if exists(select * from Actividad where id = @id)
		delete Actividad where id = @id 
end



GO
/****** Object:  StoredProcedure [dbo].[DeleteDetalleInfraestructura]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[DeleteDetalleInfraestructura] 
	@idOrganizacion int
AS
BEGIN
	DELETE FROM DetalleInfraestructura
	WHERE IdOrganizacion=@idOrganizacion
END



GO
/****** Object:  StoredProcedure [dbo].[DeleteDetalleMovimientos]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[DeleteDetalleMovimientos]
	@idRDocumento int
AS
BEGIN
	DELETE FROM DetalleRegistro
	WHERE IdRDocumento = @idRDocumento
END



GO
/****** Object:  StoredProcedure [dbo].[DeleteDetalleOrganizacionCargo]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[DeleteDetalleOrganizacionCargo]
	@IdPersona int,
	@IdOrganizacion int
AS
BEGIN
	DELETE FROM DetalleOrganizacionPersona
	WHERE IdPersona = @IdPersona AND IdOrganizacion = @IdOrganizacion
END



GO
/****** Object:  StoredProcedure [dbo].[DeleteDetallePersona]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[DeleteDetallePersona]
@IdPersona int 
/*@IdActividad int*/
AS
BEGIN
	DELETE FROM DetallePersonaActividad
	WHERE IdPersona = @IdPersona /* AND IdActividad = @IdActividad*/
END



GO
/****** Object:  StoredProcedure [dbo].[DeleteOrganizacion]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[DeleteOrganizacion]
	@id int
AS
BEGIN
	DELETE FROM Organizacion
	WHERE Id = @id
END



GO
/****** Object:  StoredProcedure [dbo].[DeleteProfesion]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[DeleteProfesion]
@id int
AS
BEGIN
	DELETE FROM Profesion
	WHERE Id = @id
END



GO
/****** Object:  StoredProcedure [dbo].[DeleteSubTipoOrganizacion]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[DeleteSubTipoOrganizacion]
	@Id int
AS
BEGIN
	DELETE FROM SubTipoOrganizacion
	WHERE Id = @Id
END



GO
/****** Object:  StoredProcedure [dbo].[DeleteTipDoc]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[DeleteTipDoc]
@id int
AS
BEGIN
DELETE FROM TipoDocumento
WHERE Id=@id
END



GO
/****** Object:  StoredProcedure [dbo].[DeleteTipoOrganizacion]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[DeleteTipoOrganizacion]
	@id int
AS
BEGIN
	DELETE FROM TipoOrganizacion
	WHERE Id=@id
END



GO
/****** Object:  StoredProcedure [dbo].[DeleteVocativo]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[DeleteVocativo]
@id int
AS
BEGIN
DELETE FROM Vocativo
WHERE Id=@id
END



GO
/****** Object:  StoredProcedure [dbo].[GetActividadById]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[GetActividadById] 
	@id int
AS
BEGIN
	SELECT        Actividad.*
	FROM            Actividad
WHERE ID = @id
END



GO
/****** Object:  StoredProcedure [dbo].[GetActividadesByCriterio]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[GetActividadesByCriterio]
@criterio varchar(50)
AS
BEGIN
	SELECT        Actividad.*
	FROM            Actividad
WHERE upper(Nombre) like upper('%'+@criterio+'%')
END



GO
/****** Object:  StoredProcedure [dbo].[GetAllActividad]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[GetAllActividad]
AS
BEGIN
	SELECT        Actividad.*
	FROM            Actividad
	order by Nombre
END



GO
/****** Object:  StoredProcedure [dbo].[GetAllDetallePersona]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[GetAllDetallePersona] 
	@IdPersona int
AS
BEGIN
	SELECT        DetallePersonaActividad.*
FROM            DetallePersonaActividad
WHERE @IdPersona = IdPersona
END



GO
/****** Object:  StoredProcedure [dbo].[GetAllPersonasByCriterios]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


CREATE PROCEDURE [dbo].[GetAllPersonasByCriterios]
	@criterioprincipal varchar(255)
	, @actividad varchar(255)
	, @ubigeo varchar(255)
	, @organizacion varchar(255)
	, @autoridad int
AS
BEGIN

	CREATE TABLE #PersonaTmp(
		Id int,
		NombreArtistico nvarchar(75),
		Nombre nvarchar (125),
		Apellidos nvarchar (125),
		NumeroDocumento nvarchar (20),
		Direccion nvarchar (250),
		Direccion2 nvarchar(250),
		Telefono nvarchar (10),
		Telefono2 nvarchar (10),
		Telefono3 nvarchar (10),
		FechaReg date,
		FechaNac date,
		Email nvarchar (100),
		PaginaWeb nvarchar(500),
		Autoridad bit,
		Imagen nvarchar (500),
		idTipoDoc int,
		idProfesion int,
		idVocativo int,
		idUbigeo char(6)
	)
	
	CREATE TABLE #PersonaResultTmp(
		Id int,
		NombreArtistico nvarchar(75),
		Nombre nvarchar (125),
		Apellidos nvarchar (125),
		NumeroDocumento nvarchar (20),
		Direccion nvarchar (250),
		Direccion2 nvarchar(250),
		Telefono nvarchar (10),
		Telefono2 nvarchar (10),
		Telefono3 nvarchar (10),
		FechaReg date,
		FechaNac date,
		Email nvarchar (100),
		PaginaWeb nvarchar(500),
		Autoridad bit,
		Imagen nvarchar (500),
		idTipoDoc int,
		idProfesion int,
		idVocativo int,
		idUbigeo char(6)
	)
	
	IF CHARINDEX ('--', UPPER(@actividad)) = 0
	BEGIN
		--SELECT 'ACTIVIDAD'
		INSERT #PersonaTmp
		SELECT p.*
		FROM [Persona] AS p
		INNER JOIN [DetallePersonaActividad] AS dpa ON p.Id = dpa.IdPersona
		INNER JOIN [Actividad] AS a ON dpa.IdActividad = a.Id  
		WHERE UPPER (a.Nombre) LIKE '%' + UPPER (@actividad) + '%'
		
		INSERT #PersonaResultTmp 
		SELECT p.*
		FROM #PersonaTmp AS p
	END
	ELSE
	BEGIN
		--SELECT 'ALL'
		-- Ingresa todas las personas.
		INSERT #PersonaTmp
		SELECT p.* FROM [Persona] AS p
		
		INSERT #PersonaResultTmp 
		SELECT p.*
		FROM #PersonaTmp AS p
	END
	
	IF @criterioprincipal != ''
	BEGIN
		--SELECT 'CRITERIO'
		DELETE FROM #PersonaResultTmp WHERE Id IS NOT NULL
	
		INSERT #PersonaResultTmp 
		SELECT p.*
		FROM #PersonaTmp AS p
		WHERE UPPER (p.Nombre) LIKE '%' + UPPER (@criterioprincipal) + '%'
		OR UPPER (p.Apellidos) LIKE '%' + UPPER (@criterioprincipal) + '%'
		OR UPPER (p.NumeroDocumento) LIKE '%' + UPPER (@criterioprincipal) + '%'
		
		DELETE FROM #PersonaTmp WHERE Id IS NOT NULL
		
		INSERT #PersonaTmp 
		SELECT p.*
		FROM #PersonaResultTmp AS p
	END
	
	IF CHARINDEX ('--', UPPER (@ubigeo)) = 0
	BEGIN	
		--SELECT 'UBIGEO'
	
		DELETE FROM #PersonaResultTmp WHERE Id IS NOT NULL
	
		INSERT #PersonaResultTmp
		SELECT p.*
		FROM #PersonaTmp AS p
		INNER JOIN [Ubigeo]  AS u ON p.idUbigeo = u.Id 
		WHERE UPPER (u.Nombre) LIKE '%' + UPPER (@ubigeo) + '%'
		
		DELETE FROM #PersonaTmp WHERE Id IS NOT NULL
		
		INSERT #PersonaTmp 
		SELECT p.*
		FROM #PersonaResultTmp AS p
	END
	
	IF CHARINDEX ('NINGUNA', UPPER (@organizacion)) = 0
	BEGIN
		--SELECT 'NINGUNA'
		DELETE FROM #PersonaResultTmp WHERE Id IS NOT NULL
		
		INSERT #PersonaResultTmp 
		SELECT p.*
		FROM #PersonaTmp AS p
		INNER JOIN [DetalleOrganizacionPersona] as dop ON p.Id = dop.IdPersona
		INNER JOIN [Organizacion] as o ON dop.IdOrganizacion = o.Id 
		WHERE UPPER (o.Nombre) LIKE '%' + UPPER (@organizacion) + '%'
		
		DELETE FROM #PersonaTmp WHERE Id IS NOT NULL
		
		INSERT #PersonaTmp 
		SELECT p.*
		FROM #PersonaResultTmp AS p
	END
	
	-- Obtiene solo las personas que pertenecen al criterio autoridad solamente 0/1
	DELETE FROM #PersonaResultTmp WHERE Id IS NOT NULL
	
	INSERT INTO #PersonaResultTmp
	SELECT p.*
	FROM #PersonaTmp AS p
	WHERE p.Autoridad = @autoridad
	
	-- Retorna el resultado de las sentencia
SELECT p.*, v.Descripcion as vocativodes, pro.Descripcion as profesiondes
	FROM #PersonaResultTmp AS p
	INNER JOIN Vocativo as v ON p.idVocativo = v.Id
	INNER JOIN Profesion as pro ON p.idProfesion = pro.Id
END



GO
/****** Object:  StoredProcedure [dbo].[GetAllPersonByCRiterios]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[GetAllPersonByCRiterios]
@Nombre varchar(250),
@IdUbigeo varchar(250),
@IdACtividad int,
@Autoridad bit  
AS
BEGIN
	--0 null ; 1 no null
	if @Nombre is null
	begin
		--select * from Persona as p
		--where p.Nombre like @Nombre;
		--000
		if (@IdUbigeo is null) and ( @IdACtividad is null) and (@Autoridad is null)
			SELECT  *   FROM  Persona
			--return 0;
		--001
		if (@IdUbigeo is null) and ( @IdACtividad is null) and (@Autoridad is not  null)
			SELECT        Persona.*
			FROM          Persona INNER JOIN
						  DetallePersonaActividad ON Persona.Id = DetallePersonaActividad.IdPersona INNER JOIN
						  Ubigeo ON Persona.idUbigeo = Ubigeo.Id
			where Persona.Autoridad = @Autoridad
			group by  Persona.Id, Persona.NombreArtistico,Persona.Nombre,Persona.Apellidos
						,Persona.NumeroDocumento,Persona.Direccion,Persona.Direccion2,Persona.Telefono, Persona.Telefono2,
						Persona.Telefono3,Persona.FechaReg,Persona.FechaNac,Persona.Email,Persona.PaginaWeb,
						Persona.Autoridad,Persona.Imagen,Persona.idTipoDoc,Persona.idProfesion,Persona.idVocativo,
						Persona.idUbigeo;

			

			--return 1;
		--010
		if (@IdUbigeo is null) and ( @IdACtividad is not null) and (@Autoridad is null)
			SELECT        Persona.*
						FROM          Persona INNER JOIN
									  DetallePersonaActividad ON Persona.Id = DetallePersonaActividad.IdPersona INNER JOIN
									  Ubigeo ON Persona.idUbigeo = Ubigeo.Id
			where DetallePersonaActividad.IdActividad = @IdACtividad
			group by  Persona.Id, Persona.NombreArtistico,Persona.Nombre,Persona.Apellidos
						,Persona.NumeroDocumento,Persona.Direccion,Persona.Direccion2,Persona.Telefono, Persona.Telefono2,
						Persona.Telefono3,Persona.FechaReg,Persona.FechaNac,Persona.Email,Persona.PaginaWeb,
						Persona.Autoridad,Persona.Imagen,Persona.idTipoDoc,Persona.idProfesion,Persona.idVocativo,
						Persona.idUbigeo;
			--return 2;
		--011
		if (@IdUbigeo is null) and ( @IdACtividad is not null) and (@Autoridad is not null)
			SELECT        Persona.*
			FROM          Persona INNER JOIN
							DetallePersonaActividad ON Persona.Id = DetallePersonaActividad.IdPersona INNER JOIN
							Ubigeo ON Persona.idUbigeo = Ubigeo.Id
			where DetallePersonaActividad.IdActividad = @IdACtividad and Persona.Autoridad = @Autoridad
			group by  Persona.Id, Persona.NombreArtistico,Persona.Nombre,Persona.Apellidos
						,Persona.NumeroDocumento,Persona.Direccion,Persona.Direccion2,Persona.Telefono, Persona.Telefono2,
						Persona.Telefono3,Persona.FechaReg,Persona.FechaNac,Persona.Email,Persona.PaginaWeb,
						Persona.Autoridad,Persona.Imagen,Persona.idTipoDoc,Persona.idProfesion,Persona.idVocativo,
						Persona.idUbigeo;

			--return 3;
		--100
		if (@IdUbigeo is not null) and ( @IdACtividad is null) and (@Autoridad is null)
			
			SELECT        Persona.*
			FROM          Persona INNER JOIN
							DetallePersonaActividad ON Persona.Id = DetallePersonaActividad.IdPersona INNER JOIN
							Ubigeo ON Persona.idUbigeo = Ubigeo.Id
			where Ubigeo.Id like @IdUbigeo+'%'
			group by  Persona.Id, Persona.NombreArtistico,Persona.Nombre,Persona.Apellidos
						,Persona.NumeroDocumento,Persona.Direccion,Persona.Direccion2,Persona.Telefono, Persona.Telefono2,
						Persona.Telefono3,Persona.FechaReg,Persona.FechaNac,Persona.Email,Persona.PaginaWeb,
						Persona.Autoridad,Persona.Imagen,Persona.idTipoDoc,Persona.idProfesion,Persona.idVocativo,
						Persona.idUbigeo;
			--return 4;
		--101
		if (@IdUbigeo is not null) and ( @IdACtividad is null) and (@Autoridad is not null)
			SELECT        Persona.*
			FROM          Persona INNER JOIN
							DetallePersonaActividad ON Persona.Id = DetallePersonaActividad.IdPersona INNER JOIN
							Ubigeo ON Persona.idUbigeo = Ubigeo.Id
			where Ubigeo.Id like @IdUbigeo+'%' and Persona.Autoridad = @Autoridad
			group by  Persona.Id, Persona.NombreArtistico,Persona.Nombre,Persona.Apellidos
						,Persona.NumeroDocumento,Persona.Direccion,Persona.Direccion2,Persona.Telefono, Persona.Telefono2,
						Persona.Telefono3,Persona.FechaReg,Persona.FechaNac,Persona.Email,Persona.PaginaWeb,
						Persona.Autoridad,Persona.Imagen,Persona.idTipoDoc,Persona.idProfesion,Persona.idVocativo,
						Persona.idUbigeo;

			--return 5;
		--110
		if (@IdUbigeo is not null) and ( @IdACtividad is not null) and (@Autoridad is null)
			SELECT        Persona.*
			FROM          Persona INNER JOIN
							DetallePersonaActividad ON Persona.Id = DetallePersonaActividad.IdPersona INNER JOIN
							Ubigeo ON Persona.idUbigeo = Ubigeo.Id
			where Ubigeo.Id like @IdUbigeo+'%' and DetallePersonaActividad.IdActividad = @IdACtividad
			group by  Persona.Id, Persona.NombreArtistico,Persona.Nombre,Persona.Apellidos
						,Persona.NumeroDocumento,Persona.Direccion,Persona.Direccion2,Persona.Telefono, Persona.Telefono2,
						Persona.Telefono3,Persona.FechaReg,Persona.FechaNac,Persona.Email,Persona.PaginaWeb,
						Persona.Autoridad,Persona.Imagen,Persona.idTipoDoc,Persona.idProfesion,Persona.idVocativo,
						Persona.idUbigeo;
			--return 6;
		--111
		if (@IdUbigeo is not null) and ( @IdACtividad is not null) and (@Autoridad is not null)
			SELECT        Persona.*
			FROM          Persona INNER JOIN
							DetallePersonaActividad ON Persona.Id = DetallePersonaActividad.IdPersona INNER JOIN
							Ubigeo ON Persona.idUbigeo = Ubigeo.Id
			where Ubigeo.Id like @IdUbigeo+'%' and DetallePersonaActividad.IdActividad = @IdACtividad and Persona.Autoridad = @Autoridad
			group by  Persona.Id, Persona.NombreArtistico,Persona.Nombre,Persona.Apellidos
						,Persona.NumeroDocumento,Persona.Direccion,Persona.Direccion2,Persona.Telefono, Persona.Telefono2,
						Persona.Telefono3,Persona.FechaReg,Persona.FechaNac,Persona.Email,Persona.PaginaWeb,
						Persona.Autoridad,Persona.Imagen,Persona.idTipoDoc,Persona.idProfesion,Persona.idVocativo,
						Persona.idUbigeo;

			
			--return 7;
	end
	else
	begin
	--hola que hace
		if (@IdUbigeo is null) and ( @IdACtividad is null) and (@Autoridad is null)
			SELECT  *   FROM  Persona
			where Persona.Nombre + Persona.Apellidos like @Nombre +'%' or Persona.NombreArtistico like @Nombre+'%';
			--return 8;
		--001
		if (@IdUbigeo is null) and ( @IdACtividad is null) and (@Autoridad is not  null)
			SELECT        Persona.*
			FROM          Persona INNER JOIN
						  DetallePersonaActividad ON Persona.Id = DetallePersonaActividad.IdPersona INNER JOIN
						  Ubigeo ON Persona.idUbigeo = Ubigeo.Id
			where Persona.Autoridad = @Autoridad and 
			(Persona.Nombre + Persona.Apellidos like @Nombre +'%' or Persona.NombreArtistico like @Nombre+'%')
			group by  Persona.Id, Persona.NombreArtistico,Persona.Nombre,Persona.Apellidos
						,Persona.NumeroDocumento,Persona.Direccion,Persona.Direccion2,Persona.Telefono, Persona.Telefono2,
						Persona.Telefono3,Persona.FechaReg,Persona.FechaNac,Persona.Email,Persona.PaginaWeb,
						Persona.Autoridad,Persona.Imagen,Persona.idTipoDoc,Persona.idProfesion,Persona.idVocativo,
						Persona.idUbigeo;

			

			--return 9;
		--010
		if (@IdUbigeo is null) and ( @IdACtividad is not null) and (@Autoridad is null)
			SELECT        Persona.*
						FROM          Persona INNER JOIN
									  DetallePersonaActividad ON Persona.Id = DetallePersonaActividad.IdPersona INNER JOIN
									  Ubigeo ON Persona.idUbigeo = Ubigeo.Id
			where DetallePersonaActividad.IdActividad = @IdACtividad and
			 (Persona.Nombre + Persona.Apellidos like @Nombre +'%' or Persona.NombreArtistico like @Nombre+'%')
			group by  Persona.Id, Persona.NombreArtistico,Persona.Nombre,Persona.Apellidos
						,Persona.NumeroDocumento,Persona.Direccion,Persona.Direccion2,Persona.Telefono, Persona.Telefono2,
						Persona.Telefono3,Persona.FechaReg,Persona.FechaNac,Persona.Email,Persona.PaginaWeb,
						Persona.Autoridad,Persona.Imagen,Persona.idTipoDoc,Persona.idProfesion,Persona.idVocativo,
						Persona.idUbigeo;
			--return 10;
		--011
		if (@IdUbigeo is null) and ( @IdACtividad is not null) and (@Autoridad is not null)
			SELECT        Persona.*
			FROM          Persona INNER JOIN
							DetallePersonaActividad ON Persona.Id = DetallePersonaActividad.IdPersona INNER JOIN
							Ubigeo ON Persona.idUbigeo = Ubigeo.Id
			where DetallePersonaActividad.IdActividad = @IdACtividad and Persona.Autoridad = @Autoridad and( 
			Persona.Nombre + Persona.Apellidos like @Nombre +'%' or Persona.NombreArtistico like @Nombre+'%')
			group by  Persona.Id, Persona.NombreArtistico,Persona.Nombre,Persona.Apellidos
						,Persona.NumeroDocumento,Persona.Direccion,Persona.Direccion2,Persona.Telefono, Persona.Telefono2,
						Persona.Telefono3,Persona.FechaReg,Persona.FechaNac,Persona.Email,Persona.PaginaWeb,
						Persona.Autoridad,Persona.Imagen,Persona.idTipoDoc,Persona.idProfesion,Persona.idVocativo,
						Persona.idUbigeo;

			--return 11;
		--100
		if (@IdUbigeo is not null) and ( @IdACtividad is null) and (@Autoridad is null)
			
			SELECT        Persona.*
			FROM          Persona INNER JOIN
							DetallePersonaActividad ON Persona.Id = DetallePersonaActividad.IdPersona INNER JOIN
							Ubigeo ON Persona.idUbigeo = Ubigeo.Id
			where Ubigeo.Id like @IdUbigeo+'%' and( 
			Persona.Nombre + Persona.Apellidos like @Nombre +'%' or Persona.NombreArtistico like @Nombre+'%')
			group by  Persona.Id, Persona.NombreArtistico,Persona.Nombre,Persona.Apellidos
						,Persona.NumeroDocumento,Persona.Direccion,Persona.Direccion2,Persona.Telefono, Persona.Telefono2,
						Persona.Telefono3,Persona.FechaReg,Persona.FechaNac,Persona.Email,Persona.PaginaWeb,
						Persona.Autoridad,Persona.Imagen,Persona.idTipoDoc,Persona.idProfesion,Persona.idVocativo,
						Persona.idUbigeo;
			--return 12;
		--101
		if (@IdUbigeo is not null) and ( @IdACtividad is null) and (@Autoridad is not null)
			SELECT        Persona.*
			FROM          Persona INNER JOIN
							DetallePersonaActividad ON Persona.Id = DetallePersonaActividad.IdPersona INNER JOIN
							Ubigeo ON Persona.idUbigeo = Ubigeo.Id
			where Ubigeo.Id like @IdUbigeo+'%' and Persona.Autoridad = @Autoridad and(
			 Persona.Nombre + Persona.Apellidos like @Nombre +'%' or Persona.NombreArtistico like @Nombre+'%')
			group by  Persona.Id, Persona.NombreArtistico,Persona.Nombre,Persona.Apellidos
						,Persona.NumeroDocumento,Persona.Direccion,Persona.Direccion2,Persona.Telefono, Persona.Telefono2,
						Persona.Telefono3,Persona.FechaReg,Persona.FechaNac,Persona.Email,Persona.PaginaWeb,
						Persona.Autoridad,Persona.Imagen,Persona.idTipoDoc,Persona.idProfesion,Persona.idVocativo,
						Persona.idUbigeo;

			--return 13;
		--110
		if (@IdUbigeo is not null) and ( @IdACtividad is not null) and (@Autoridad is null)
			SELECT        Persona.*
			FROM          Persona INNER JOIN
							DetallePersonaActividad ON Persona.Id = DetallePersonaActividad.IdPersona INNER JOIN
							Ubigeo ON Persona.idUbigeo = Ubigeo.Id
			where Ubigeo.Id like @IdUbigeo+'%' and DetallePersonaActividad.IdActividad = @IdACtividad and( 
			Persona.Nombre + Persona.Apellidos like @Nombre +'%' or Persona.NombreArtistico like @Nombre+'%')
			group by  Persona.Id, Persona.NombreArtistico,Persona.Nombre,Persona.Apellidos
						,Persona.NumeroDocumento,Persona.Direccion,Persona.Direccion2,Persona.Telefono, Persona.Telefono2,
						Persona.Telefono3,Persona.FechaReg,Persona.FechaNac,Persona.Email,Persona.PaginaWeb,
						Persona.Autoridad,Persona.Imagen,Persona.idTipoDoc,Persona.idProfesion,Persona.idVocativo,
						Persona.idUbigeo;
			--return 14;
		--111
		if (@IdUbigeo is not null) and ( @IdACtividad is not null) and (@Autoridad is not null)
			SELECT        Persona.*
			FROM          Persona INNER JOIN
							DetallePersonaActividad ON Persona.Id = DetallePersonaActividad.IdPersona INNER JOIN
							Ubigeo ON Persona.idUbigeo = Ubigeo.Id
			where Ubigeo.Id like @IdUbigeo+'%' and DetallePersonaActividad.IdActividad = @IdACtividad and Persona.Autoridad = @Autoridad
			and (Persona.Nombre + Persona.Apellidos like @Nombre +'%' or Persona.NombreArtistico like @Nombre+'%')
			group by  Persona.Id, Persona.NombreArtistico,Persona.Nombre,Persona.Apellidos
						,Persona.NumeroDocumento,Persona.Direccion,Persona.Direccion2,Persona.Telefono, Persona.Telefono2,
						Persona.Telefono3,Persona.FechaReg,Persona.FechaNac,Persona.Email,Persona.PaginaWeb,
						Persona.Autoridad,Persona.Imagen,Persona.idTipoDoc,Persona.idProfesion,Persona.idVocativo,
						Persona.idUbigeo;

			
			--return 15;
	end
	
END



GO
/****** Object:  StoredProcedure [dbo].[NewActividad]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[NewActividad] 
@id int, 
@nombre varchar(25), 
@comentario varchar(120) 
AS 
begin 
if NOT EXISTS(select * from Actividad where id = @id) begin INSERT INTO Actividad (Nombre, Comentario) 
VALUES (@nombre,@comentario) set @id = SCOPE_IDENTITY() 
end else update Actividad set Nombre = @nombre, Comentario = @comentario where id = @id 
end



GO
/****** Object:  StoredProcedure [dbo].[NewDetalleInfraestructura]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[NewDetalleInfraestructura] 
	@Ambientte varchar(250), 
	@Butacas int, 
	@Pie int, 
	@Graderias int, 
	@EquiposVisuales varchar(250), 
	@EquiposAudio varchar(250), 
	@Aforo int, 
	@IdOrganizacion int
AS
BEGIN
	INSERT INTO DetalleInfraestructura
                         (Ambientte, Butacas, Pie, Graderias, EquiposVisuales, EquiposAudio, Aforo, IdOrganizacion)
	VALUES        (@Ambientte, @Butacas, @Pie, @Graderias, @EquiposVisuales, @EquiposAudio, @Aforo, @IdOrganizacion)
END



GO
/****** Object:  StoredProcedure [dbo].[NewDetalleMovimientos]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[NewDetalleMovimientos]
	@IdRDocumento int, 
	@IdArea int, 
	@Movimientos int, 
	@Emisor varchar(50), 
	@Receptor varchar(50),
	@Atiende varchar(50),
	@Recibido bit,
	@Observacion varchar(300), 
	@AreaDest varchar(50),
	@Atendido bit,
	@Observacion2 varchar(300), 
	@Observacion3 varchar(300)
AS
BEGIN
	INSERT INTO DetalleRegistro
							 (IdRDocumento, IdArea, Movimientos, Emisor, Receptor, Atiende, FechDerivDocum, Recibido, FechRecepDocum, Observacion, AreaDest, Atendido, FechAtenDocum, Observacion2, Observacion3)
	VALUES        (@IdRDocumento, @IdArea, @Movimientos, @Emisor, @Receptor, @Atiende, SYSDATETIME(), @Recibido, '12/12/12 12:12:12', @Observacion, @AreaDest, @Atendido, '12/12/12 12:12:12', @Observacion2, @Observacion3)
END



GO
/****** Object:  StoredProcedure [dbo].[NewDetallePersonaActividad]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[NewDetallePersonaActividad]
	@IdPersona int, 
	@IdActividad int, 
	@FechaRegistro varchar(50), 
	@Comentario varchar(250)
AS
BEGIN
	INSERT INTO DetallePersonaActividad
                         (IdPersona, IdActividad, FechaRegistro, Comentario)
	VALUES        (@IdPersona, 
		@IdActividad, 
		GETDATE(), 
		@Comentario)
END



GO
/****** Object:  StoredProcedure [dbo].[NewDetallePersonaOrganización]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[NewDetallePersonaOrganización]
	@FechaRegistro varchar(100),
	@Estado varchar(150), 
	@Cargo varchar(150), 
	@IdPersona int, 
	@IdOrganizacion int
AS
BEGIN
	INSERT INTO DetalleOrganizacionPersona
                         (FechaRegistro, Estado, Cargo, IdPersona, IdOrganizacion)
VALUES        (GETDATE(), @Estado, @Cargo, @IdPersona, @IdOrganizacion)
END



GO
/****** Object:  StoredProcedure [dbo].[NewOeEditSubTipoOrganizacion]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[NewOeEditSubTipoOrganizacion] 
	@Id int, 
	@Nombre varchar(150), 
	@Descripcion varchar(500), 
	@idTipoOrganizacion int
AS
BEGIN
	IF NOT EXISTS(SELECT SubTipoOrganizacion.* FROM SubTipoOrganizacion WHERE Id = @id)
	BEGIN
	INSERT INTO SubTipoOrganizacion
                         (Id, Nombre, Descripcion, idTipoOrganizacion)
	VALUES        (@Id, @Nombre, @Descripcion, @idTipoOrganizacion) SET @id = SCOPE_IDENTITY()
	END
	ELSE
	UPDATE       SubTipoOrganizacion
	SET                Nombre =@Nombre, Descripcion =@Descripcion, idTipoOrganizacion =@idTipoOrganizacion
	WHERE Id=@id
END



GO
/****** Object:  StoredProcedure [dbo].[NewOrEditOrganizacion]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[NewOrEditOrganizacion] 
	@id int,
	@Ruc varchar(50), 
	@Nombre varchar(125), 
	@Direccion varchar(250), 
	@Telefono varchar(12), 
	@Telefono2 varchar(12),
	@Email varchar(150), 
	@PaginaWeb varchar(500), 
	@Logo varchar(500), 
	@IdUbigeo varchar(8), 
	@IdTipoOrganizacion int,
	@InstitucionVinculada int,
	@IdSubTipoOrganizacion int
AS
BEGIN
	IF NOT EXISTS(SELECT * FROM Organizacion WHERE Id=@id AND Id!=0)
	BEGIN
	INSERT INTO Organizacion
                         (Ruc, Nombre, Direccion, Telefono, Telefono2, Email, PaginaWeb, Logo, InstituciónVinculada, IdUbigeo, IdTipoOrganizacion, IdSubTipoOrganizacion)
	VALUES        (@Ruc,@Nombre,@Direccion,@Telefono,@Telefono2,@Email,@PaginaWeb,@Logo,@InstitucionVinculada,@IdUbigeo,@IdTipoOrganizacion,@IdSubTipoOrganizacion)
	SET @id = SCOPE_IDENTITY()
	END
	ELSE
	UPDATE       Organizacion
	SET                Ruc =@Ruc, Nombre =@Nombre, Direccion =@Direccion, Telefono =@Telefono, Telefono2 =@Telefono2, Email =@Email, PaginaWeb =@PaginaWeb, Logo =@Logo, 
	InstituciónVinculada =@InstitucionVinculada, IdUbigeo =@IdUbigeo, IdTipoOrganizacion =@IdTipoOrganizacion, IdSubTipoOrganizacion =@IdSubTipoOrganizacion
	WHERE Id = @id
	SELECT        Organizacion.*
	FROM            Organizacion
	WHERE ID = IDENT_CURRENT('Organizacion')
END



GO
/****** Object:  StoredProcedure [dbo].[NewOrEditProfession]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[NewOrEditProfession]
@id int,
@descripcion varchar(125),
@abreviatura varchar(10)
AS
BEGIN

if NOT EXISTS(SELECT * FROM Profesion WHERE Id=@id) 

BEGIN

INSERT INTO Profesion
                  (Descripcion, Abreviatura)
VALUES (@descripcion,@abreviatura) SET @id = SCOPE_IDENTITY()

END
else 
UPDATE Profesion
SET          Descripcion = @descripcion, Abreviatura = @abreviatura
where Id= @id
end



GO
/****** Object:  StoredProcedure [dbo].[NewOrEditRDocumento]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[NewOrEditRDocumento]
	@id int,
	@NroExpediente varchar(9), 
	@Folios varchar(9), 
	@Usuario varchar(100), 
	@sunto varchar(300), 
	@Recurrente varchar(100), 
	@Estado varchar(50), 
	@AreaEstado varchar(50), 
	@Entregado varchar(100), 
	@Dni varchar(11), 
	@Oficio varchar(50), 
	@TramiteDocumentarioId int
AS
BEGIN
	IF NOT EXISTS(SELECT * FROM RDocumento WHERE Id=@id AND Id!=0)
	BEGIN
	INSERT INTO RDocumento
                         (NroExpediente, Fecha, Folios, Usuario, Asunto, Recurrente, Estado, AreaEstado, Entregado, Dni, Oficio, TramiteDocumentarioId)
	VALUES        (@NroExpediente, SYSDATETIME(), @Folios, @Usuario, @sunto, @Recurrente, @Estado, @AreaEstado, @Entregado, @Dni, @Oficio, @TramiteDocumentarioId)
	SET @id = SCOPE_IDENTITY()
	END
	ELSE
	UPDATE       RDocumento
	SET                NroExpediente =@NroExpediente, Folios =@Folios, Usuario =@Usuario, Asunto =@sunto, Recurrente =@Recurrente, Estado =@Estado, Entregado =@Entregado, Dni =@Dni, TramiteDocumentarioId =@TramiteDocumentarioId, AreaEstado=@AreaEstado, Oficio=@Oficio
	WHERE Id = @id
	SELECT        RDocumento.*
	FROM            RDocumento
	WHERE ID = IDENT_CURRENT('RDocumento')
END



GO
/****** Object:  StoredProcedure [dbo].[NewOrEditTipoDoc]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[NewOrEditTipoDoc]
@id int,
@descripcion varchar(150),
@abreviatura varchar(15)
AS
BEGIN
IF NOT EXISTS(SELECT TipoDocumento.* FROM TipoDocumento WHERE Id = @id)
BEGIN
INSERT INTO TipoDocumento (Descripcion, Abreviatura)
VALUES (@descripcion,@abreviatura) SET @id=SCOPE_IDENTITY()
END
ELSE
UPDATE TipoDocumento
SET          Descripcion = @descripcion, Abreviatura = @abreviatura
WHERE Id=@id
END



GO
/****** Object:  StoredProcedure [dbo].[NewOrEditTipoOrganizacion]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[NewOrEditTipoOrganizacion]
	@id  int,
	@Nombre varchar(100), 
	@Descripcion varchar(200)
AS
BEGIN
	IF NOT EXISTS(SELECT TipoOrganizacion.* FROM TipoOrganizacion WHERE Id = @id)
	BEGIN
	INSERT INTO TipoOrganizacion
							 (Nombre, Descripcion)
	VALUES        (@Nombre, @Descripcion) SET @id = SCOPE_IDENTITY()
	END
	ELSE
	UPDATE       TipoOrganizacion
	SET                Nombre =@Nombre, Descripcion =@Descripcion
	WHERE Id=@id
END



GO
/****** Object:  StoredProcedure [dbo].[NewOrEditVocativo]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[NewOrEditVocativo]
@id int,
@descripcion varchar(100),
@abreviatura varchar(25)
AS
BEGIN
if not exists(SELECT Id, Descripcion, Abreviatura FROM Vocativo WHERE  Id = @id)
BEGIN
INSERT INTO Vocativo (Descripcion, Abreviatura)
VALUES (@descripcion,@abreviatura) SET @id=SCOPE_IDENTITY()
END
ELSE 
UPDATE Vocativo
SET          Descripcion = @descripcion, Abreviatura = @abreviatura
where Id=@id
end



GO
/****** Object:  StoredProcedure [dbo].[NewPersonaReturn]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[NewPersonaReturn]
	@NombreArtistico varchar(75), 
	@Nombre varchar(50), 
	@Apellidos varchar(50), 
	@NumeroDocumento varchar(50), 
	@Direccion varchar(250), 
	@Direccion2 varchar(250), 
	@Telefono varchar(12), 
	@Telefono2 varchar(12), 
	@Telefono3 varchar(12), 
	@FechaReg varchar(50), 
	@FechaNac varchar(50), 
	@Email varchar(200), 
	@PaginaWeb varchar(500), 
	@Autoridad bit, 
	@Imagen varchar(500),
	@idTipoDoc int, 
	@idProfesion int, 
	@idVocativo int, 
	@idUbigeo varchar(6),
	@day char(2) = null,
	@year char(4) = null,
	@mon char(2) = null
AS
BEGIN
	DECLARE @fechaFin varchar(255)

	IF @FechaNac NOT IN ('01/01/0001', '01/01/0001 0:00:00')
	BEGIN
		SELECT @day = SUBSTRING(@FechaNac,1,2), @mon = SUBSTRING(@FechaNac,4,2), @year = SUBSTRING(@FechaNac,7,4)
		
		SET @fechaFin = @year + '-' + @mon + '-' + @day
	END
	ELSE
	BEGIN
		SET @fechaFin = NULL
	END
	
	

	INSERT INTO Persona
                         (NombreArtistico, Nombre, Apellidos, NumeroDocumento, Direccion, Direccion2, Telefono, Telefono2, Telefono3, FechaReg, FechaNac, Email, PaginaWeb, Autoridad, Imagen, idTipoDoc, idProfesion, idVocativo, 
                         idUbigeo)
	VALUES        (@NombreArtistico, @Nombre, @Apellidos, @NumeroDocumento, @Direccion, @Direccion2, @Telefono, @Telefono2, @Telefono3, GETDATE(), @fechaFin, @Email, @PaginaWeb, @Autoridad, @Imagen, @idTipoDoc, @idProfesion, @idVocativo, 
                         @idUbigeo)

	SELECT        p.*
			--, p.Nombre
			--, p.Apellidos
			--, p.NumeroDocumento
			--, p.Direccion
			--, p.Direccion2
			--, p.Telefono
			--, p.Telefono2
			--, p.Telefono3
			--, p.FechaReg
			--, ISNULL(p.FechaNac, '0001-01-01') as FechaNac
			--, p.Email
			--, p.PaginaWeb
			--, p.Autoridad
			--, p.Imagen
			--, p.idTipoDoc
			--, p.idVocativo
			--, p.idUbigeo
	FROM            Persona AS p
	WHERE ID = IDENT_CURRENT('Persona')
END



GO
/****** Object:  StoredProcedure [dbo].[PersonaFromDNI]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[PersonaFromDNI] 
@nroDocumento varchar(11), 
@TipoDoc int
AS 
BEGIN 
if EXISTS(SELECT * FROM Persona INNER JOIN TipoDocumento 
ON Persona.idTipoDoc = TipoDocumento.Id 
where @nroDocumento like Persona.NumeroDocumento and @TipoDoc = Persona.idTipoDoc) 
begin 
SELECT        Persona.*
FROM            Persona
END 
ELSE RETURN '0'
end



GO
/****** Object:  StoredProcedure [dbo].[PersonasByDetalleOrganizacion]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[PersonasByDetalleOrganizacion] 
@organizacion varchar(150)
AS
BEGIN
SELECT Persona.Nombre, Organizacion.Nombre AS Organización
FROM     DetalleOrganizacionPersona INNER JOIN
                  Organizacion ON DetalleOrganizacionPersona.IdOrganizacion = Organizacion.Id INNER JOIN
                  Persona ON DetalleOrganizacionPersona.IdPersona = Persona.Id

WHERE DetalleOrganizacionPersona.IdOrganizacion != 1 and Organizacion.Nombre like '%'+@organizacion+'%'
END



GO
/****** Object:  StoredProcedure [dbo].[ShowAllOrganizacion]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[ShowAllOrganizacion]
AS
BEGIN
	SELECT        Organizacion.*
	FROM            Organizacion
END



GO
/****** Object:  StoredProcedure [dbo].[ShowAllOrganizacionLista]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[ShowAllOrganizacionLista]
AS
BEGIN
	SELECT        Organizacion.*
	FROM            Organizacion
	WHERE Nombre !=  'Ninguna'
END



GO
/****** Object:  StoredProcedure [dbo].[ShowAllProfesion]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[ShowAllProfesion] 
AS
BEGIN
SELECT        Profesion.*
FROM            Profesion
order by Descripcion
END



GO
/****** Object:  StoredProcedure [dbo].[ShowAllProfesionLista]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[ShowAllProfesionLista]
AS
BEGIN
SELECT        Profesion.*
FROM            Profesion
WHERE Descripcion != 'Ninguna'
order by Descripcion
END



GO
/****** Object:  StoredProcedure [dbo].[ShowAllSubTipoOrganizacion]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[ShowAllSubTipoOrganizacion]
	@idTipo int
AS
BEGIN
	SELECT        SubTipoOrganizacion.*
	FROM            SubTipoOrganizacion
	WHERE idTipoOrganizacion  = @idTipo
END



GO
/****** Object:  StoredProcedure [dbo].[ShowAllSubTipoOrganizacionLista]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[ShowAllSubTipoOrganizacionLista]
AS
BEGIN
	SELECT        SubTipoOrganizacion.*
	FROM            SubTipoOrganizacion
END



GO
/****** Object:  StoredProcedure [dbo].[ShowAllTipoDoc]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[ShowAllTipoDoc]
AS
BEGIN
SELECT        TipoDocumento.*
FROM            TipoDocumento
END



GO
/****** Object:  StoredProcedure [dbo].[ShowAllTipoOrganizacion]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[ShowAllTipoOrganizacion]
AS
BEGIN
	SELECT        TipoOrganizacion.*
	FROM            TipoOrganizacion
END



GO
/****** Object:  StoredProcedure [dbo].[ShowAllTipoOrganizacionLista]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[ShowAllTipoOrganizacionLista]
AS
BEGIN
	SELECT        TipoOrganizacion.*
	FROM            TipoOrganizacion
	WHERE Nombre !=  'Ninguna'
END



GO
/****** Object:  StoredProcedure [dbo].[SHowAllVocativo]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[SHowAllVocativo]

AS
BEGIN
SELECT        Vocativo.*
FROM            Vocativo
--WHERE Descripcion !=  'Ninguno'
order by Descripcion
END



GO
/****** Object:  StoredProcedure [dbo].[SHowAllVocativoLista]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[SHowAllVocativoLista]

AS
BEGIN
SELECT        Vocativo.*
FROM            Vocativo
WHERE Descripcion !=  'Ninguno'
END



GO
/****** Object:  StoredProcedure [dbo].[ShowOrganizacionByCriterio]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[ShowOrganizacionByCriterio]
	@criterio varchar(100)
AS
BEGIN
	SELECT        Organizacion.*
	FROM            Organizacion
	WHERE Nombre like '%'+@criterio+'%' OR Ruc like '%'+@criterio+'%' AND Nombre !=  'Ninguno'
END



GO
/****** Object:  StoredProcedure [dbo].[ShowProfesionByCriterio]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[ShowProfesionByCriterio]
@descripcion varchar(50)
AS
BEGIN
SELECT        Profesion.*
FROM            Profesion
Where Descripcion like '%'+@descripcion+'%'
END



GO
/****** Object:  StoredProcedure [dbo].[ShowProfesionById]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[ShowProfesionById]
@id int
AS
BEGIN
SELECT        Profesion.*
FROM            Profesion
Where Id = @id
END



GO
/****** Object:  StoredProcedure [dbo].[ShowSubTipoOrganizacionByCriterio]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[ShowSubTipoOrganizacionByCriterio]
	@criterio varchar(100)
AS
BEGIN
	SELECT        SubTipoOrganizacion.*
	FROM            SubTipoOrganizacion
	WHERE Nombre like '%'+@criterio+'%'
END



GO
/****** Object:  StoredProcedure [dbo].[ShowTipoDocByAbreviatura]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[ShowTipoDocByAbreviatura] 
@Abreviatura varchar(40)
AS
BEGIN
SELECT        TipoDocumento.*
FROM            TipoDocumento
WHERE Abreviatura like '%'+@Abreviatura+'%'
END



GO
/****** Object:  StoredProcedure [dbo].[ShowTipoDocByCriterio]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[ShowTipoDocByCriterio] 
@descripcion varchar(40)
AS
BEGIN
SELECT        TipoDocumento.*
FROM            TipoDocumento
WHERE Descripcion like '%'+@descripcion+'%' OR Abreviatura like '%'+@descripcion+'%'
END



GO
/****** Object:  StoredProcedure [dbo].[ShowTipoDocById]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[ShowTipoDocById]
@id int
AS
BEGIN
SELECT        TipoDocumento.*
FROM            TipoDocumento
WHERE Id=@id
END



GO
/****** Object:  StoredProcedure [dbo].[ShowTipoOrganizacionByCriterio]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[ShowTipoOrganizacionByCriterio]
	@nombre  varchar(50)
AS
BEGIN
	SELECT        TipoOrganizacion.*
	FROM            TipoOrganizacion
	WHERE Nombre like '%'+@nombre+'%'
END



GO
/****** Object:  StoredProcedure [dbo].[ShowVocativoByCriterio]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[ShowVocativoByCriterio] 
@descripcion varchar(30)
AS
BEGIN
SELECT        Vocativo.*
FROM            Vocativo
WHERE Descripcion like '%'+@descripcion+'%'
END



GO
/****** Object:  StoredProcedure [dbo].[ShowVocativoById]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[ShowVocativoById]
@id int
AS
BEGIN
SELECT        Vocativo.*
FROM            Vocativo
WHERE id=@id
END



GO
/****** Object:  StoredProcedure [dbo].[UpdateDetalleMovimientos]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[UpdateDetalleMovimientos] 
	@IdRDocumento int, 
	@IdArea int, 
	@Movimientos int, 
	@Emisor varchar(50), 
	@Receptor varchar(50),
	@Atiende varchar(50),
	@FechDerivDocum varchar(50),
	@Recibido bit,
	@FechRecepDocum varchar(50),
	@Observacion varchar(300), 
	@AreaDest varchar(50),
	@Atendido bit,
	@FechAtenDocum varchar(50),
	@Observacion2 varchar(300), 
	@Observacion3 varchar(300), 
	@day char(2) = null,
	@year char(4) = null,
	@mon char(2) = null,
	@hour char(9) = null,
	@day2 char(2) = null,
	@year2 char(4) = null,
	@mon2 char(2) = null,
	@hour2 char(9) = null,
	@day3 char(2) = null,
	@year3 char(4) = null,
	@mon3 char(2) = null,
	@hour3 char(9) = null
AS
BEGIN

	SELECT @day = SUBSTRING(@FechDerivDocum,1,2), @mon = SUBSTRING(@FechDerivDocum,4,2), @year = SUBSTRING(@FechDerivDocum,7,4), @hour = SUBSTRING(@FechDerivDocum,11,9), @day2 = SUBSTRING(@FechRecepDocum,1,2), @mon2 = SUBSTRING(@FechRecepDocum,4,2), @year2 = SUBSTRING(@FechRecepDocum,7,4), @hour2 = SUBSTRING(@FechRecepDocum,11,9), @day3 = SUBSTRING(@FechAtenDocum,1,2), @mon3 = SUBSTRING(@FechAtenDocum,4,2), @year3 = SUBSTRING(@FechAtenDocum,7,4), @hour3 = SUBSTRING(@FechAtenDocum,11,9)

	INSERT INTO DetalleRegistro
							 (IdRDocumento, IdArea, Movimientos, Emisor, Receptor, Atiende, FechDerivDocum, Recibido, FechRecepDocum, Observacion, AreaDest, Atendido, FechAtenDocum, Observacion2, Observacion3)
	VALUES        (@IdRDocumento, @IdArea, @Movimientos, @Emisor, @Receptor, @Atiende, @year+'-'+@mon+'-'+@day+' '+@hour, @Recibido, @year2+'-'+@mon2+'-'+@day2+' '+@hour2, @Observacion, @AreaDest, @Atendido, @year3+'-'+@mon3+'-'+@day3+' '+@hour3, @Observacion2,@Observacion3)
END


GO
/****** Object:  StoredProcedure [dbo].[UpdateDetallePersonaActividadNewUpdate]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[UpdateDetallePersonaActividadNewUpdate]
	@IdPersona int, 
	@IdActividad int, 
	@FechaRegistro varchar(50), 
	@Comentario varchar(250)

AS
BEGIN

/*IF NOT EXISTS(
	SELECT        DetallePersonaActividad.*
	FROM            DetallePersonaActividad
	WHERE @IdPersona = IdPersona AND @IdActividad != IdActividad
)
BEGIN
	INSERT INTO DetallePersonaActividad
                         (IdPersona, IdActividad, FechaRegistro, Comentario)
VALUES        (@IdPersona, @IdActividad, @FechaRegistro, @Comentario)

END	ELSE /*IF EXISTS(
	SELECT        DetallePersonaActividad.*
	FROM            DetallePersonaActividad
	WHERE @IdPersona = IdPersona AND @IdActividad = IdActividad
)*/
BEGIN
	UPDATE       DetallePersonaActividad
	SET                FechaRegistro = @FechaRegistro, Comentario = @Comentario
	WHERE @IdPersona = IdPersona AND @IdActividad = IdActividad
END*/

INSERT INTO DetallePersonaActividad
                         (IdPersona, IdActividad, FechaRegistro, Comentario)
VALUES        (@IdPersona, @IdActividad, GETDATE(), @Comentario)

END



GO
/****** Object:  StoredProcedure [dbo].[UpdatePersona]    Script Date: 17/03/2015 21:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[UpdatePersona]
	@id int,
	@NombreArtistico varchar(75), 
	@Nombre varchar(50), 
	@Apellidos varchar(50), 
	@NumeroDocumento varchar(50), 
	@Direccion varchar(250), 
	@Direccion2 varchar(250), 
	@Telefono varchar(12), 
	@Telefono2 varchar(12), 
	@Telefono3 varchar(12), 
	@FechaReg varchar(50), 
	@FechaNac varchar(50), 
	@Email varchar(200), 
	@PaginaWeb varchar(500), 
	@Autoridad bit, 
	@Imagen varchar(500),
	@idTipoDoc int, 
	@idProfesion int, 
	@idVocativo int, 
	@idUbigeo varchar(6),
	@day char(2) = null,
	@year char(4) = null,
	@mon char(2) = null
AS
BEGIN

	SELECT @day = SUBSTRING(@FechaNac,1,2), @mon = SUBSTRING(@FechaNac,4,2), @year = SUBSTRING(@FechaNac,7,4)

	UPDATE       Persona
	SET                NombreArtistico =@NombreArtistico, Nombre =@Nombre, Apellidos =@Apellidos, NumeroDocumento =@NumeroDocumento, Direccion =@Direccion, Direccion2 =@Direccion2, Telefono =@Telefono, Telefono2 =@Telefono2, Telefono3 =@Telefono3, FechaReg =GETDATE(), FechaNac =@year+'-'+@mon+'-'+@day, Email =@Email, PaginaWeb =@PaginaWeb, Autoridad =@Autoridad, Imagen =@Imagen, 
                         idTipoDoc =@idTipoDoc, idProfesion =@idProfesion, idVocativo =@idVocativo, idUbigeo =@idUbigeo
	WHERE Id = @id
END



GO
